/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package proyecto3;
import java.util.ArrayList;
import java.util.StringTokenizer;

/**
 *
 * @author Ulil Cojti, Maria Fernanda Martinez, Adrian Martinez
 */
public class Bandera {
    private String NomBandera, casoEjemplo = "nada up abajo ";
    private int ejex, ejey;
    StringTokenizer tokens = new StringTokenizer( casoEjemplo, " ");
    
    /**
     *
     * @param ejex
     * @param ejey
     * @param NomBandera
     */
    public Bandera(int ejex, int ejey, String NomBandera){
        this.ejex = ejex;
        this.ejey = ejey;
        this.NomBandera = NomBandera;
        
    }
    
    /**
     *
     */
    public Bandera(){
        
    }
    
    /**
     *
     * @return
     */
    public String getNomBandera(){
        return NomBandera;
    }
    
    /**
     *
     * @return
     */
    public int getEjeX(){
        return ejex;
    }
    
    /**
     *
     * @return
     */
    public int getEjeY(){
        return ejey;
    }
    
     /**
     *
     * @param right
     * @param left
     * @return
     */
    public int ObtenerPosicionX(int right, int left){  
         int ContX=0;             //ContX = Pos eje X
         ContX = right - left;
         return ContX;
     }
     
     /**
     *
     * @param up
     * @param down
     * @return
     */
    public int ObtenerPosicionY(int up, int down){  
         int ContY=0;             //ContX = Pos eje X
         ContY = up - down;
         return ContY;
     }
     
     /**
     *
     * @param ArrayDado
     * @return
     */
    public int ObtenerPosicionY2(ArrayList<String> ArrayDado){
         int indice=0;            //indice que recorre el arreglo
         int ContY=0;             //ContY = Pos eje Y
         String valor;
         for(indice=0;indice<ArrayDado.size();indice++){
             valor = ArrayDado.get(indice);
             if (valor.equals("UP")){
                 ContY++;}
             else if(valor.equals("DOWN")){
                 ContY--;}
         }
         return ContY;
     }
     
     /**
     *
     * @param ArrayDado
     * @param cont
     * @return
     */
    public int ObtenerPosicionX2(ArrayList<String> ArrayDado, int cont){  
         int indice=0;                 //indice que recorre el arreglo
         int ContX=0;             //ContX = Pos eje X
         String valor;
         for(indice=0;indice<ArrayDado.size();indice++){
             valor = ArrayDado.get(indice);
             if (valor.equals("RIGHT")){
                 ContX++;}
             else if(valor.equals("LEFT")){
                 ContX--; }
         }
         return ContX;
     }
     
     /**
     *
     * @param Cadena1
     * @return
     */
    public int DesConcatenarUP(String Cadena1){
         int cuentaUP=0;
         StringTokenizer tokens = new StringTokenizer(Cadena1);
         while(tokens.hasMoreTokens()){
             if(tokens.nextToken().compareTo("UP")== 0){
                 cuentaUP++;
             }
         } 
         return cuentaUP;
     }
     
     /**
     *
     * @param Cadena1
     * @return
     */
    public int DesConcatenarDOWN(String Cadena1){
         int cuentaDOWN=0;
         StringTokenizer tokens = new StringTokenizer(Cadena1);
         while(tokens.hasMoreTokens()){
             if(tokens.nextToken().compareTo("DOWN")== 0){
                 cuentaDOWN++;
             }
         } 
         return cuentaDOWN;
     }
     
     /**
     *
     * @param Cadena1
     * @return
     */
    public int DesConcatenarLEFT(String Cadena1){
         int cuentaLEFT=0;
         StringTokenizer tokens = new StringTokenizer(Cadena1);
         while(tokens.hasMoreTokens()){
             if(tokens.nextToken().compareTo("LEFT")== 0){
                 cuentaLEFT++;
             }
         } 
         return cuentaLEFT;
     }
     
     /**
     *
     * @param Cadena1
     * @return
     */
    public int DesConcatenarRIGHT(String Cadena1){
         int cuentaRIGHT=0;
         StringTokenizer tokens = new StringTokenizer(Cadena1);
         while(tokens.hasMoreTokens()){
             if(tokens.nextToken().compareTo("RIGHT")== 0){
                 cuentaRIGHT++;
             }
         } 
         return cuentaRIGHT;
     }
     
     /**
     *
     * @param Arraydado
     * @param buscado
     * @return
     */
    public int VerificarDato(ArrayList<Bandera> Arraydado, String buscado){
         int posicion = 0; //indice que recorre el arreglo
         Bandera flag;
         for(int i=0; i<Arraydado.size(); i++){
             flag = Arraydado.get(i);
             if(flag.getNomBandera().equals(buscado))
                 posicion = Arraydado.indexOf(flag);
             else 
                 posicion = -1;
         }
         return posicion;
     }
     
     /**
     *
     * @param bandera
     * @return
     */
    public String toString(Bandera bandera){
         String datos = "";
         //Bandera bandera;
         datos = "Nombre Bandera: " + bandera.getNomBandera() +" En el eje X= "+ bandera.getEjeX() +" y eje Y: "+ bandera.getEjeY();
         return datos;	
     }
}
